package org.zbclan.bf2.rcon.model;

import java.io.Serializable;
import java.util.regex.Pattern;

public class VideoSettings implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 8259598866727164217L;

	public static final Pattern TERRAIN_QUALITY_PATTERN = Pattern
			.compile("VideoSettings\\.setTerrainQuality (\\d+)");
	public static final Pattern GEOMETRY_QUALITY_PATTERN = Pattern
			.compile("VideoSettings\\.setGeometryQuality (\\d+)");
	public static final Pattern LIGHTING_QUALITY_PATTERN = Pattern
			.compile("VideoSettings\\.setLightingQuality (\\d+)");
	public static final Pattern DYNAMIC_LIGHTING_QUALITY_PATTERN = Pattern
			.compile("VideoSettings\\.setDynamicLightingQuality (\\d+)");
	public static final Pattern DYNAMIC_SHADOWS_QUALITY_PATTERN = Pattern
			.compile("VideoSettings\\.setDynamicShadowsQuality (\\d+)");
	public static final Pattern EFFECTS_QUALITY_PATTERN = Pattern
			.compile("VideoSettings\\.setEffectsQuality (\\d+)");
	public static final Pattern TEXTURE_QUALITY_PATTERN = Pattern
			.compile("VideoSettings\\.setTextureQuality (\\d+)");
	public static final Pattern TEXTURE_FILTERING_QUALITY_PATTERN = Pattern
			.compile("VideoSettings\\.setTextureFilteringQuality (\\d+)");
	public static final Pattern RESOLUTION_PATTERN = Pattern
			.compile("VideoSettings\\.setResolution (.*)");
	public static final Pattern ANTIALIASING_PATTERN = Pattern
			.compile("VideoSettings\\.setAntialiasing (.*)");
	public static final Pattern VIEW_DISTANCE_SCALE_PATTERN = Pattern
			.compile("VideoSettings\\.setViewDistanceScale (\\d+)");
	public static final Pattern VIDEO_OPTION_SCHEME_PATTERN = Pattern
			.compile("VideoSettings\\.setVideoOptionScheme (\\d+)");

	private int terrainQuality;
	private int geometryQuality;
	private int lightingQuality;
	private int dynamicLightingQuality;
	private int dynamicShadowsQuality;
	private int effectsQuality;
	private int textureQuality;
	private int textureFilteringQuality;
	private String resolution;
	private String antialiasing;
	private int viewDistanceScale;
	private int videoOptionScheme;

	public int getTerrainQuality() {
		return terrainQuality;
	}

	public void setTerrainQuality(int terrainQuality) {
		this.terrainQuality = terrainQuality;
	}

	public int getGeometryQuality() {
		return geometryQuality;
	}

	public void setGeometryQuality(int geometryQuality) {
		this.geometryQuality = geometryQuality;
	}

	public int getLightingQuality() {
		return lightingQuality;
	}

	public void setLightingQuality(int lightingQuality) {
		this.lightingQuality = lightingQuality;
	}

	public int getDynamicLightingQuality() {
		return dynamicLightingQuality;
	}

	public void setDynamicLightingQuality(int dynamicLightingQuality) {
		this.dynamicLightingQuality = dynamicLightingQuality;
	}

	public int getDynamicShadowsQuality() {
		return dynamicShadowsQuality;
	}

	public void setDynamicShadowsQuality(int dynamicShadowsQuality) {
		this.dynamicShadowsQuality = dynamicShadowsQuality;
	}

	public int getEffectsQuality() {
		return effectsQuality;
	}

	public void setEffectsQuality(int effectsQuality) {
		this.effectsQuality = effectsQuality;
	}

	public int getTextureQuality() {
		return textureQuality;
	}

	public void setTextureQuality(int textureQuality) {
		this.textureQuality = textureQuality;
	}

	public int getTextureFilteringQuality() {
		return textureFilteringQuality;
	}

	public void setTextureFilteringQuality(int textureFilteringQuality) {
		this.textureFilteringQuality = textureFilteringQuality;
	}

	public String getResolution() {
		return resolution;
	}

	public void setResolution(String resolution) {
		this.resolution = resolution;
	}

	public String getAntialiasing() {
		return antialiasing;
	}

	public void setAntialiasing(String antialiasing) {
		this.antialiasing = antialiasing;
	}

	public int getViewDistanceScale() {
		return viewDistanceScale;
	}

	public void setViewDistanceScale(int viewDistanceScale) {
		this.viewDistanceScale = viewDistanceScale;
	}

	public int getVideoOptionScheme() {
		return videoOptionScheme;
	}

	public void setVideoOptionScheme(int videoOptionScheme) {
		this.videoOptionScheme = videoOptionScheme;
	}
}
